qtbase-opensource-src.git
21 months agoCVE-2023-37369
Debian Qt/KDE Maintainers [Sun, 28 Apr 2024 20:48:02 +0000 (22:48 +0200)]
CVE-2023-37369

===================================================================

Gbp-Pq: Name CVE-2023-37369.diff

21 months ago[PATCH] HPack: fix incorrect integer overflow check
Marc Mutz [Tue, 12 Dec 2023 21:08:07 +0000 (22:08 +0100)]
[PATCH] HPack: fix incorrect integer overflow check

This code never worked:

For the comparison with max() - 32 to trigger, on 32-bit platforms (or
Qt 5) signed interger overflow would have had to happen in the
addition of the two sizes. The compiler can therefore remove the
overflow check as dead code.

On Qt 6 and 64-bit platforms, the signed integer addition would be
very unlikely to overflow, but the following truncation to uint32
would yield the correct result only in a narrow 32-value window just
below UINT_MAX, if even that.

Fix by using the proper tool, qAddOverflow.

Manual conflict resolutions:
 - qAddOverflow doesn't exist in Qt 5, use private add_overflow
   predecessor API instead

Change-Id: I7599f2e75ff7f488077b0c60b81022591005661c
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
(cherry picked from commit ee5da1f2eaf8932aeca02ffea6e4c618585e29e3)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit debeb8878da2dc706ead04b6072ecbe7e5313860)
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
(cherry picked from commit 811b9eef6d08d929af8708adbf2a5effb0eb62d7)
(cherry picked from commit f931facd077ce945f1e42eaa3bead208822d3e00)
(cherry picked from commit 9ef4ca5ecfed771dab890856130e93ef5ceabef5)
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Gbp-Pq: Name CVE-2023-51714.diff

21 months agoCVE-2023-32762
Debian Qt/KDE Maintainers [Sun, 28 Apr 2024 20:48:02 +0000 (22:48 +0200)]
CVE-2023-32762

commit 1b736a815be0222f4b24289cf17575fc15707305
Author: Mårten Nordheim <marten.nordheim@qt.io>
Date:   Fri May 5 11:07:26 2023 +0200

    Hsts: match header names case insensitively

    Header field names are always considered to be case-insensitive.

Pick-to: 6.5 6.5.1 6.2 5.15
Fixes: QTBUG-113392
    Change-Id: Ifb4def4bb7f2ac070416cdc76581a769f1e52b43
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Gbp-Pq: Name CVE-2023-32762.diff

21 months agoSQL/ODBC: add another check to detect unicode availability in driver
Debian Qt/KDE Maintainers [Sun, 28 Apr 2024 20:48:02 +0000 (22:48 +0200)]
SQL/ODBC: add another check to detect unicode availability in driver

Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit/?id=f19320748d282b1e
Last-Update: 2023-06-30

Since ODBC does not have a direct way finding out if unicode is
supported by the underlying driver the ODBC plugin does some checks. As
a last resort a sql statement is executed which returns a string. But
even this may fail because the select statement has no FROM part which
is rejected by at least Oracle does not allow. Therefore add another
query which is correct for Oracle & DB2 as a workaround. The question
why the first three statements to check for unicode availability fail
is still open but can't be checked since I've no access to an oracle
database.

Gbp-Pq: Name sql_odbc_more_unicode_checks.diff

21 months agoQSQL/ODBC: fix regression (trailing NUL)
Debian Qt/KDE Maintainers [Sun, 28 Apr 2024 20:48:02 +0000 (22:48 +0200)]
QSQL/ODBC: fix regression (trailing NUL)

Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit/?id=9020034b3b6a3a81
Last-Update: 2023-06-30

When we fixed the callers of toSQLTCHAR() to use the result's size()
instead of the input's (which differ, if sizeof(SQLTCHAR) != 2), we
exposed callers to the append(0), which changes the size() of the
result QVLA. Callers that don't rely on NUL-termination (all?) now saw
an additional training NUL.

Fix by not NUL-terminating, and changing the only user of SQL_NTS to
use an explicit length.

Gbp-Pq: Name sql_odbc_fix_unicode_check.diff

21 months agoFix denial-of-service in Qt SQL ODBC driver plugin
Debian Qt/KDE Maintainers [Sun, 28 Apr 2024 20:48:02 +0000 (22:48 +0200)]
Fix denial-of-service in Qt SQL ODBC driver plugin

Origin: upstream, https://download.qt.io/official_releases/qt/5.15/CVE-2023-24607-qtbase-5.15.diff
Last-Update: 2023-02-26

Gbp-Pq: Name CVE-2023-24607.diff

21 months agoQProcess: ensure we don't accidentally execute something from CWD
Debian Qt/KDE Maintainers [Sun, 28 Apr 2024 20:48:02 +0000 (22:48 +0200)]
QProcess: ensure we don't accidentally execute something from CWD

Origin: upstream, https://download.qt.io/official_releases/qt/5.15/CVE-2022-25255-qprocess5-15.diff
Last-Update: 2022-02-21

Unless "." (or the empty string) is in $PATH, we're not supposed to find
executables in the current directory. This is how the Unix shells behave
and we match their behavior. It's also the behavior Qt had prior to 5.9
(commit 28666d167aa8e602c0bea25ebc4d51b55005db13). On Windows, searching
the current directory is the norm, so we keep that behavior.

This commit does not add an explicit check for an empty return from
QStandardPaths::findExecutable(). Instead, we allow that empty string to
go all the way to execve(2), which will fail with ENOENT. We could catch
it early, before fork(2), but why add code for the error case?

See https://kde.org/info/security/advisory-20220131-1.txt

Gbp-Pq: Name CVE-2022-25255.diff

21 months agofix buffer overflow in Qt SVG
Debian Qt/KDE Maintainers [Sun, 28 Apr 2024 20:48:02 +0000 (22:48 +0200)]
fix buffer overflow in Qt SVG

Origin: upstream, https://download.qt.io/official_releases/qt/5.15/CVE-2023-32763-qtbase-5.15.diff
Last-Update: 2023-05-22

Adds qAddOverflow and qMulOverflow definitions to QFixed.

Gbp-Pq: Name CVE-2023-32763.diff

21 months agoCVE-2024-25580
Debian Qt/KDE Maintainers [Sun, 28 Apr 2024 20:48:02 +0000 (22:48 +0200)]
CVE-2024-25580

Gbp-Pq: Name CVE-2024-25580.diff

21 months ago[PATCH] Fix invalid pointer return with QGridLayout::itemAt(-1)
Zhang Yu [Mon, 22 Feb 2021 01:25:01 +0000 (09:25 +0800)]
[PATCH] Fix invalid pointer return with QGridLayout::itemAt(-1)

QGridLayout::takeAt() and QLayoutItem *itemAt() only check the upper bound.
If the index < 0, these function will return invalid pointer.

Fixes: QTBUG-91261
Pick-to: 5.15 6.0 6.1
Change-Id: Idfb9fb6228b9707f817353b04974da16205a835c
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Gbp-Pq: Name fix-invalid-pointer-return-with-QGridLayout.diff

21 months agoadjust QMimeDatabase implementation
Debian Qt/KDE Maintainers [Sun, 28 Apr 2024 20:48:02 +0000 (22:48 +0200)]
adjust QMimeDatabase implementation

Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit/?id=0cbbba2aa5b47224
Last-Update: 2021-06-12

When multiple globs match, and the result from magic sniffing is
unrelated to any of those globs, globs have priority and one of them
should be picked up.

Gbp-Pq: Name mime_globs.diff

21 months agofix allocated memory of QByteArray returned by QIODevice::readLine
Debian Qt/KDE Maintainers [Sun, 28 Apr 2024 20:48:02 +0000 (22:48 +0200)]
fix allocated memory of QByteArray returned by QIODevice::readLine

Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit/?id=6485b6d45ad165cf
Last-Update: 2021-02-20

Gbp-Pq: Name qiodevice_readline_memory.diff

21 months agoinclude <limits> to fix some GCC 11 build issues
Debian Qt/KDE Maintainers [Sun, 28 Apr 2024 20:48:02 +0000 (22:48 +0200)]
include <limits> to fix some GCC 11 build issues

Origin: upstream, commits:
 https://code.qt.io/cgit/qt/qtbase.git/commit/?id=813a928c7c3cf986
 https://code.qt.io/cgit/qt/qtbase.git/commit/?id=9c56d4da2ff631a8
Last-Update: 2021-01-26

Gbp-Pq: Name gcc_11_limits.diff

21 months agoQNAM: work around QObject finicky orphan cleanup details
Debian Qt/KDE Maintainers [Sun, 28 Apr 2024 20:48:02 +0000 (22:48 +0200)]
QNAM: work around QObject finicky orphan cleanup details

Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit/?id=0807f16eb407eaf8
Last-Update: 2021-01-26

Gbp-Pq: Name qnam_connect_memory_leak.diff

21 months agoAvoid use-after-free in QXcbConnection::initializeScreens()
Debian Qt/KDE Maintainers [Sun, 28 Apr 2024 20:48:02 +0000 (22:48 +0200)]
Avoid use-after-free in QXcbConnection::initializeScreens()

Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit/?id=86b8c5c3f32c2457
Last-Update: 2020-11-23

Gbp-Pq: Name xcb_screens_uaf.patch

21 months agoqtbase-opensource-src (5.15.2+dfsg-9+deb11u1) bullseye; urgency=medium
Thorsten Alteholz [Sun, 28 Apr 2024 20:48:02 +0000 (22:48 +0200)]
qtbase-opensource-src (5.15.2+dfsg-9+deb11u1) bullseye; urgency=medium

  * Non-maintainer upload by the LTS Team.
  * CVE-2024-25580 (Closes: #1064053)
    fix buffer overflow due to crafted KTX image file
  * CVE-2023-32763 (Closes: #1036702)
    fix QTextLayout buffer overflow due to crafted SVG file
  * CVE-2022-25255
    prevent QProcess from execution of a binary from the current working
    directory when not found in the PATH
  * CVE-2023-24607 (Closes: #1031872)
    fix denial of service via a crafted string when the SQL ODBC driver
    plugin is used
  * fix regression caused by patch for CVE-2023-24607
  * CVE-2023-32762
    prevent incorrect parsing of the strict-transport-security (HSTS) header
  * CVE-2023-51714 (Closes: #1060694)
    fix incorrect HPack integer overflow check.
  * CVE-2023-38197 (Closes: #1041105)
    fix infinite loop in recursive entity expansion
  * CVE-2023-37369 (Closes: #1059302)
    fix crash of application in QXmlStreamReader due to crafted XML string
  * CVE-2023-34410 (Closes: #1037210)
    fix checking during TLS whether root of the chain really is a
    configured CA certificate
  * CVE-2023-33285 (Closes: #1036848)
    fix buffer overflow in QDnsLookup

[dgit import unpatched qtbase-opensource-src 5.15.2+dfsg-9+deb11u1]

21 months agoImport qtbase-opensource-src_5.15.2+dfsg-9+deb11u1.debian.tar.xz
Thorsten Alteholz [Sun, 28 Apr 2024 20:48:02 +0000 (22:48 +0200)]
Import qtbase-opensource-src_5.15.2+dfsg-9+deb11u1.debian.tar.xz

[dgit import tarball qtbase-opensource-src 5.15.2+dfsg-9+deb11u1 qtbase-opensource-src_5.15.2+dfsg-9+deb11u1.debian.tar.xz]

5 years agoImport qtbase-opensource-src_5.15.2+dfsg.orig.tar.xz
Dmitry Shachnev [Fri, 20 Nov 2020 13:08:35 +0000 (16:08 +0300)]
Import qtbase-opensource-src_5.15.2+dfsg.orig.tar.xz

[dgit import orig qtbase-opensource-src_5.15.2+dfsg.orig.tar.xz]